const webpack = require('webpack')
const { merge } = require('webpack-merge')
const common = require('./webpack.common.js')

module.exports = merge(common, {
  // 这个属性有三种取值，分别是 production、development 和 none。
  // 1. 生产模式下，Webpack 会自动优化打包结果；
  // 2. 开发模式下，Webpack 会自动优化打包速度，添加一些调试过程中的辅助；
  // 3. None 模式下，Webpack 就是运行最原始的打包，不做任何额外处理；
  mode: 'development',
  devtool: 'cheap-source-map',
  devServer: {
    // 指定额外的资源路径
    contentBase: './public',
    // 代理配置
    // proxy: {
    //   "/api": {
    //     target: "https://api.github.com",
    //     pathRewrite: { "^/api": "" },
    //     changeOrigin: true,
    //   },
    // },
    // hotOnly: true, // 只使用 HMR，不会 fallback 到 live reloading
    hot: true,
    port: 9000,
  },
  plugins: [
    new webpack.DefinePlugin({
      // 这里的值要求的是一个代码片段，可以定义多个全局变量
      // 具体用法参考 https://webpack.docschina.org/plugins/define-plugin/
      API_BASE_URL: JSON.stringify('https://api.development.com'),
    }),
  ],
})
